草庐IT

MySQL 枚举空值

全部标签

c# - 为什么不能将可空值声明为 const?

[TestClass]publicclassMsProjectIntegration{constint?projectID=null;//Thetype'int?'cannotbedeclaredconst//...}为什么我不能有一个constint??编辑:我想要一个可为空的int作为const的原因是因为我只是用它来从数据库加载一些示例数据。如果它为空,我将在运行时初始化示例数据。这是一个非常快速的测试项目,显然我可以使用0或-1,但int?感觉就像适合我想做的事情的正确数据结构。只读似乎是要走的路 最佳答案 这不仅仅是可空值

c# - 在 C# 中扩展枚举

在java中,我习惯于扩展枚举值或覆盖这样的方法:enumSomeEnum{option1("sv"){publicStringtoString(){return"Somevalue";}},option2;privateStringPassedValue;publicSomeEnum(Stringsomevalue){this.PassedValue=somevalue;}publicSomeEnum(){this.PassedValue="DefaultValue";}publicStringgetPassedValue(){returnthis.PassedValue;}}有没有

c# - 一种解析带有 'Flags' 的 .NET 枚举字符串或 int 值的方法

有一种使用以下方法计算枚举元素的好方法://memberTypeisenumtypeif(Enum.IsDefined(memberType,valueString)){returnEnum.Parse(memberType,valueString);}else{try{varunderlyingValue=Convert.ChangeType(valueString,Enum.GetUnderlyingType(memberType));if(Enum.IsDefined(memberType,underlyingValue)){returnunderlyingValue;}}cat

c# - 如何在 c# xml 文档中引用枚举常量

我想记录枚举类型字段的默认值://////Thedefaultvalueis.///publicOrientationBoxOrientation;编译器警告它无法解析引用。前缀F:或M:会使编译器静音,但E:也会静音,所以我不确定哪个前缀是正确的。 最佳答案 前缀F、M和E都是有效的,可能是编译器警告消失的原因。不过,您应该使用引用字段的F。有关VisualStudio如何生成文档标识符的更多信息,请参阅:ProcessingtheXMLFile(C#ProgrammingGuide)

c# - 在具有多个对应名称的枚举值上调用 ToString() 时,什么决定选择哪个名称?

在具有多个对应名称的enum值上调用ToString()时,什么决定选择哪个名称?问题的详细解释如下。我已经确定这不是由以下任何一个唯一确定的:字母顺序;申报单;也不,名称长度。例如,假设我想要一个枚举,其中数值直接对应于实际用途(例如颜色的rgb值)。publicenumRgbColor{Black=0x000000,Red=0xff0000,Green=0x00ff00,Blue=0x0000ff,White=0xffffff}现在,使用此枚举,调用default(RgbColor)将返回黑色的rgb值。假设我不希望默认值为黑色,因为我希望UI设计人员在没有关于使用什么颜色的具体说

c# - 映射到 Nhibernate 中的枚举位标志

取下面的枚举标志[Flags]enumPermssions{CanComment=1,CanEdit=2,CanDelete=4,CanRemoveUsers=8,All=CanComment|CanEdit|CanDelete|CanRemoveUsers}在NHibernate中,我在使用之前映射到一个枚举:我的问题是,如何使用NHibnerate将按位字段映射到标志字段? 最佳答案 当我映射一个枚举,并且这个枚举有一个“int”类型的支持值时,我只是将我的枚举属性映射到数据库中的一个int字段。我没有遇到这个问题。我也为标志枚

使用 Json.Net : Error converting value to type 的 C# 枚举反序列化

我正在使用Json.NET序列化/反序列化一些JSONAPI。API响应有一些整数值映射到应用程序中定义的枚举。枚举是这样的:publicenumMyEnum{Type1,Type2,Type3}并且JSONAPI响应具有以下内容:{"Name":"abc","MyEnumValue":"Type1"}有时,API会为我的枚举中未定义的MyEnumValue字段返回一个值,如下所示:{"Name":"abc","MyEnumValue":"Type4"}抛出异常:Errorconvertingvalue"Type4"totype'MyEnum'有没有办法通过分配默认值或其他方法来避免应

c# - WPF ComboBox 中具有本地化名称的枚举

我有一个列出枚举的ComboBox。enumStatusEnum{Open=1,Closed=2,InProgress=3}我想用英文显示枚举值的本地化名称OpenClosedInProgress还有德语(以及future的其他语言)OffenGeschlossenInArbeit在我的ViewModel中使用publicIEnumerableStatusList{get{returnEnum.GetValues(typeof(StatusEnum)).Cast();}}只获取代码中枚举的名称,而不是翻译后的名称。我有一般本地化,可以使用即访问它们Resources.Strings.I

c# - 使用隐式枚举字段来表示数值是一种不好的做法吗?

使用隐式枚举字段来表示数值一定是一种不好的做法吗?这是一个用例:我想要一种简单的方法来表示十六进制数字,并且由于C#枚举基于整数,因此它们看起来很自然。我不喜欢char或string在这里,因为我必须明确验证它们的值。枚举的问题是数字[0-9]不是有效的字段标识符(有充分的理由)。我突然想到我不需要声明数字0-9,因为它们隐式存在。所以,我的十六进制数字枚举看起来像:publicenumHex:int{A=10,B=11,C=12,D=13,E=14,F=15}所以,我可以写Tupler=Tuple.Create(Hex.F,(Hex)1);,和r.Item1.ToString()+r

c# - C# 中的大型标志枚举

大家好,有一个简短的问题,我似乎找不到任何关于......我正在做一个需要带有大量标志(最多40个)的标志枚举的项目,我真的不想为每个枚举值输入确切的掩码:publicenumMyEnumeration:ulong{Flag1=1,Flag2=2,Flag3=4,Flag4=8,Flag5=16,//...Flag16=65536,Flag17=65536*2,Flag18=65536*4,Flag19=65536*8,//...Flag32=65536*65536,Flag33=65536*65536*2//rightabouthereIstarttogetreallypissedo